home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 March: Reference Library / Dev.CD Mar 96 RL / Dev.CD Mar 96 RL.toast / Technical Documentation / develop / develop Issue 24 / develop Issue 24 code / Scriptable Database 1.0a11.sea / Scriptable Database 1.0a11 / Database / DBProperty.h < prev    next >
MacBinary  |  1995-10-30  |  10.8 KB  |  [TEXT/MMCC]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Mon Oct 30 16:48:53 1995, modified Mon Oct 30 16:48:53 1995, creator 'MMCC', type ASCII, 10353 bytes "DBProperty.h" , at 0x28f1 410 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% dearkID deark: macbinary default
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MMCC]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0c 44 42 50 72 6f 70 | 65 72 74 79 2e 68 00 00 |..DBProp|erty.h..|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 4d 43 | 43 01 00 00 00 00 00 00 |.TEXTMMC|C.......|
|00000050| 00 00 00 00 00 28 71 00 | 00 01 9a ac ba f8 c5 ac |.....(q.|........|
|00000060| ba f8 c5 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 95 75 00 00 |........|.....u..|
|00000080| 2f 2f 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |//======|========|
|00000090| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000d0| 3d 3d 0d 2f 2f 20 47 72 | 65 67 20 41 6e 64 65 72 |==.// Gr|eg Ander|
|000000e0| 73 6f 6e 0d 2f 2f 20 64 | 62 2b 0d 2f 2f 0d 2f 2f |son.// d|b+.//.//|
|000000f0| 20 43 75 72 73 6f 72 20 | 74 6f 20 61 20 64 61 74 | Cursor |to a dat|
|00000100| 61 20 72 65 63 6f 72 64 | 0d 2f 2f 20 31 36 20 4d |a record|.// 16 M|
|00000110| 61 79 20 31 39 39 34 0d | 2f 2f 3d 3d 3d 3d 3d 3d |ay 1994.|//======|
|00000120| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000130| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000140| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000150| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000160| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 0d 23 70 72 61 67 |========|==.#prag|
|00000170| 6d 61 20 6f 6e 63 65 0d | 0d 23 69 66 6e 64 65 66 |ma once.|.#ifndef|
|00000180| 20 5f 5f 44 42 50 52 4f | 50 45 52 54 59 52 45 43 | __DBPRO|PERTYREC|
|00000190| 4f 52 44 5f 5f 0d 23 64 | 65 66 69 6e 65 20 5f 5f |ORD__.#d|efine __|
|000001a0| 44 42 50 52 4f 50 45 52 | 54 59 52 45 43 4f 52 44 |DBPROPER|TYRECORD|
|000001b0| 5f 5f 0d 0d 23 69 6e 63 | 6c 75 64 65 20 22 44 42 |__..#inc|lude "DB|
|000001c0| 52 65 63 6f 72 64 2e 68 | 22 0d 0d 2f 2f 0d 2f 2f |Record.h|"..//.//|
|000001d0| 20 46 69 65 6c 64 73 0d | 2f 2f 0d 2f 2f 09 09 46 | Fields.|//.//..F|
|000001e0| 6c 61 67 73 0d 2f 2f 09 | 09 09 62 33 31 2d 62 32 |lags.//.|..b31-b2|
|000001f0| 39 3a 09 55 73 65 64 20 | 62 79 20 41 62 73 74 72 |9:.Used |by Abstr|
|00000200| 61 63 74 44 42 52 65 63 | 6f 72 64 0d 2f 2f 09 09 |actDBRec|ord.//..|
|00000210| 09 62 32 38 3a 09 09 43 | 6c 65 61 72 20 28 53 65 |.b28:..C|lear (Se|
|00000220| 74 20 3d 20 6f 62 6a 65 | 63 74 20 72 65 63 6f 72 |t = obje|ct recor|
|00000230| 64 29 0d 2f 2f 09 09 09 | 62 32 37 3a 09 09 53 65 |d).//...|b27:..Se|
|00000240| 74 20 3d 20 64 61 74 61 | 20 72 65 63 6f 72 64 20 |t = data| record |
|00000250| 28 43 6c 65 61 72 20 3d | 20 73 6f 6d 65 20 6f 74 |(Clear =| some ot|
|00000260| 68 65 72 20 72 65 63 6f | 72 64 29 0d 2f 2f 09 09 |her reco|rd).//..|
|00000270| 09 62 32 36 2d 62 31 36 | 3a 09 52 65 73 65 72 76 |.b26-b16|:.Reserv|
|00000280| 65 64 0d 2f 2f 09 09 09 | 62 31 35 2d 62 38 3a 20 |ed.//...|b15-b8: |
|00000290| 09 45 6e 63 6f 64 65 64 | 20 64 61 74 61 20 74 79 |.Encoded| data ty|
|000002a0| 70 65 0d 2f 2f 09 09 09 | 20 62 37 2d 62 30 3a 09 |pe.//...| b7-b0:.|
|000002b0| 09 4c 65 6e 67 74 68 20 | 6f 66 20 64 61 74 61 20 |.Length |of data |
|000002c0| 73 74 6f 72 65 64 20 69 | 6e 20 74 68 69 73 20 72 |stored i|n this r|
|000002d0| 65 63 6f 72 64 0d 2f 2f | 09 09 09 09 09 09 09 53 |ecord.//|.......S|
|000002e0| 74 72 69 6e 67 73 20 68 | 61 76 65 20 61 20 72 61 |trings h|ave a ra|
|000002f0| 6e 67 65 20 6f 66 20 30 | 2d 31 32 0d 2f 2f 09 09 |nge of 0|-12.//..|
|00000300| 09 09 09 09 09 53 74 72 | 75 63 74 75 72 65 73 20 |.....Str|uctures |
|00000310| 68 61 76 65 20 61 20 72 | 61 6e 67 65 20 6f 66 20 |have a r|ange of |
|00000320| 30 2d 38 0d 2f 2f 09 09 | 09 09 09 09 09 4c 65 6e |0-8.//..|.....Len|
|00000330| 67 74 68 20 62 79 74 65 | 20 69 73 20 30 20 69 66 |gth byte| is 0 if|
|00000340| 20 6c 65 6e 67 74 68 20 | 69 73 20 69 6d 70 6c 69 | length |is impli|
|00000350| 63 69 74 20 28 65 2e 67 | 2e 20 73 69 6e 67 6c 65 |cit (e.g|. single|
|00000360| 20 6c 6f 6e 67 77 6f 72 | 64 29 20 6f 72 20 6e 6f | longwor|d) or no|
|00000370| 74 20 61 70 70 6c 69 63 | 61 62 6c 65 20 28 61 72 |t applic|able (ar|
|00000380| 72 61 79 20 6f 66 20 70 | 72 6f 70 65 72 74 69 65 |ray of p|ropertie|
|00000390| 73 29 0d 2f 2f 09 09 09 | 09 09 09 09 4c 65 6e 67 |s).//...|....Leng|
|000003a0| 74 68 20 62 79 74 65 20 | 69 73 20 32 35 35 20 69 |th byte |is 255 i|
|000003b0| 66 20 64 61 74 61 20 73 | 74 6f 72 65 64 20 65 78 |f data s|tored ex|
|000003c0| 74 65 72 6e 61 6c 6c 79 | 0d 2f 2f 09 09 50 61 72 |ternally|.//..Par|
|000003d0| 65 6e 74 20 73 69 62 6c | 69 6e 67 20 28 6f 72 20 |ent sibl|ing (or |
|000003e0| 70 61 72 65 6e 74 20 65 | 6c 65 6d 65 6e 74 20 66 |parent e|lement f|
|000003f0| 6f 72 20 70 72 6f 70 65 | 72 74 79 20 61 74 20 74 |or prope|rty at t|
|00000400| 6f 70 20 6f 66 20 74 72 | 65 65 29 0d 2f 2f 09 09 |op of tr|ee).//..|
|00000410| 4c 65 66 74 20 73 69 62 | 6c 69 6e 67 0d 2f 2f 09 |Left sib|ling.//.|
|00000420| 09 52 69 67 68 74 20 73 | 69 62 6c 69 6e 67 0d 2f |.Right s|ibling./|
|00000430| 2f 09 09 50 72 6f 70 65 | 72 74 79 20 49 44 0d 2f |/..Prope|rty ID./|
|00000440| 2f 0d 2f 2f 09 09 54 68 | 72 65 65 20 6d 6f 72 65 |/.//..Th|ree more|
|00000450| 20 6c 6f 6e 67 77 6f 72 | 64 73 20 6f 66 20 64 61 | longwor|ds of da|
|00000460| 74 61 0d 2f 2f 09 09 09 | 44 61 74 61 20 6f 72 20 |ta.//...|Data or |
|00000470| 69 6e 64 65 78 20 6f 66 | 20 72 65 63 6f 72 64 20 |index of| record |
|00000480| 61 74 20 74 6f 70 20 6f | 66 20 65 6c 65 6d 65 6e |at top o|f elemen|
|00000490| 74 20 74 72 65 65 0d 2f | 2f 09 09 09 44 61 74 61 |t tree./|/...Data|
|000004a0| 20 6f 72 20 69 6e 64 65 | 78 20 6f 66 20 72 65 63 | or inde|x of rec|
|000004b0| 6f 72 64 20 61 74 20 74 | 6f 70 20 6f 66 20 70 72 |ord at t|op of pr|
|000004c0| 6f 70 65 72 74 79 20 74 | 72 65 65 0d 2f 2f 09 09 |operty t|ree.//..|
|000004d0| 09 44 61 74 61 20 6f 72 | 20 74 79 70 65 20 6f 66 |.Data or| type of|
|000004e0| 20 64 61 74 61 0d 2f 2f | 0d 2f 2f 09 09 45 78 61 | data.//|.//..Exa|
|000004f0| 6d 70 6c 65 73 3a 0d 2f | 2f 0d 2f 2f 09 09 4c 6f |mples:./|/.//..Lo|
|00000500| 6e 67 77 6f 72 64 0d 2f | 2f 09 09 09 44 61 74 61 |ngword./|/...Data|
|00000510| 0d 2f 2f 09 09 09 55 6e | 75 73 65 64 0d 2f 2f 09 |.//...Un|used.//.|
|00000520| 09 09 54 79 70 65 20 6f | 66 20 64 61 74 61 20 28 |..Type o|f data (|
|00000530| 6b 4c 6f 6e 67 54 79 70 | 65 29 0d 2f 2f 0d 2f 2f |kLongTyp|e).//.//|
|00000540| 09 09 53 68 6f 72 74 20 | 73 74 72 69 6e 67 0d 2f |..Short |string./|
|00000550| 2f 09 09 09 5a 65 72 6f | 20 74 6f 20 74 77 65 6c |/...Zero| to twel|
|00000560| 76 65 20 62 79 74 65 73 | 2c 20 6c 65 6e 67 74 68 |ve bytes|, length|
|00000570| 20 65 6e 63 6f 64 65 64 | 20 69 6e 20 49 44 20 6f | encoded| in ID o|
|00000580| 66 20 66 6c 61 67 73 20 | 77 6f 72 64 0d 2f 2f 0d |f flags |word.//.|
|00000590| 2f 2f 09 09 53 68 6f 72 | 74 20 74 79 70 65 64 20 |//..Shor|t typed |
|000005a0| 73 74 72 75 63 74 75 72 | 65 0d 2f 2f 09 09 09 5a |structur|e.//...Z|
|000005b0| 65 72 6f 20 74 6f 20 65 | 69 67 68 74 20 62 79 74 |ero to e|ight byt|
|000005c0| 65 73 2c 20 6c 65 6e 67 | 74 68 20 65 6e 63 6f 64 |es, leng|th encod|
|000005d0| 65 64 20 69 6e 20 49 44 | 20 6f 66 20 66 6c 61 67 |ed in ID| of flag|
|000005e0| 73 20 77 6f 72 64 0d 2f | 2f 09 09 09 54 79 70 65 |s word./|/...Type|
|000005f0| 20 6f 66 20 64 61 74 61 | 0d 2f 2f 0d 2f 2f 09 09 | of data|.//.//..|
|00000600| 52 65 66 65 72 65 6e 63 | 65 20 74 6f 20 6c 6f 6e |Referenc|e to lon|
|00000610| 67 65 72 20 73 74 72 69 | 6e 67 2c 20 61 72 72 61 |ger stri|ng, arra|
|00000620| 79 20 6f 72 20 73 74 72 | 75 63 74 75 72 65 0d 2f |y or str|ucture./|
|00000630| 2f 09 09 09 52 65 66 65 | 72 65 6e 63 65 20 74 6f |/...Refe|rence to|
|00000640| 20 64 61 74 61 20 72 65 | 63 6f 72 64 20 28 64 61 | data re|cord (da|
|00000650| 74 61 20 72 65 63 6f 72 | 64 20 6b 6e 6f 77 73 20 |ta recor|d knows |
|00000660| 69 74 73 20 6f 77 6e 20 | 73 69 7a 65 29 0d 2f 2f |its own |size).//|
|00000670| 09 09 09 55 6e 75 73 65 | 64 0d 2f 2f 09 09 09 54 |...Unuse|d.//...T|
|00000680| 79 70 65 20 6f 66 20 65 | 78 74 65 72 6e 61 6c 20 |ype of e|xternal |
|00000690| 64 61 74 61 0d 2f 2f 09 | 09 09 0d 2f 2f 09 09 41 |data.//.|...//..A|
|000006a0| 72 72 61 79 20 6f 66 20 | 61 72 62 69 74 72 61 72 |rray of |arbitrar|
|000006b0| 79 20 64 61 74 61 20 28 | 69 6d 70 6c 65 6d 65 6e |y data (|implemen|
|000006c0| 74 65 64 20 61 73 20 61 | 20 72 65 63 6f 72 64 20 |ted as a| record |
|000006d0| 74 68 61 74 20 63 6f 6e | 74 61 69 6e 73 20 70 72 |that con|tains pr|
|000006e0| 6f 70 65 72 74 69 65 73 | 20 6f 66 20 69 74 73 20 |operties| of its |
|000006f0| 6f 77 6e 29 0d 2f 2f 09 | 09 09 55 6e 75 73 65 64 |own).//.|..Unused|
|00000700| 0d 2f 2f 09 09 09 52 65 | 66 65 72 65 6e 63 65 20 |.//...Re|ference |
|00000710| 74 6f 20 72 65 63 6f 72 | 64 20 61 74 20 74 6f 70 |to recor|d at top|
|00000720| 20 6f 66 20 70 72 6f 70 | 65 72 74 79 20 74 72 65 | of prop|erty tre|
|00000730| 65 0d 2f 2f 09 09 09 54 | 79 70 65 20 6f 66 20 64 |e.//...T|ype of d|
|00000740| 61 74 61 20 28 6b 4c 69 | 73 74 54 79 70 65 29 0d |ata (kLi|stType).|
|00000750| 2f 2f 0d 2f 2f 09 09 41 | 72 72 61 79 20 6f 66 20 |//.//..A|rray of |
|00000760| 65 6c 65 6d 65 6e 74 73 | 20 28 69 6d 70 6c 65 6d |elements| (implem|
|00000770| 65 6e 74 65 64 20 61 73 | 20 61 20 72 65 63 6f 72 |ented as| a recor|
|00000780| 64 20 74 68 61 74 20 63 | 6f 6e 74 61 69 6e 73 20 |d that c|ontains |
|00000790| 65 6c 65 6d 65 6e 74 73 | 29 0d 2f 2f 09 09 09 52 |elements|).//...R|
|000007a0| 65 66 65 72 65 6e 63 65 | 20 74 6f 20 72 65 63 6f |eference| to reco|
|000007b0| 72 64 20 61 74 20 74 6f | 70 20 6f 66 20 65 6c 65 |rd at to|p of ele|
|000007c0| 6d 65 6e 74 20 74 72 65 | 65 0d 2f 2f 09 09 09 55 |ment tre|e.//...U|
|000007d0| 6e 75 73 65 64 0d 2f 2f | 09 09 09 54 79 70 65 20 |nused.//|...Type |
|000007e0| 6f 66 20 64 61 74 61 20 | 28 6b 52 65 63 6f 72 64 |of data |(kRecord|
|000007f0| 54 79 70 65 29 0d 2f 2f | 0d 0d 65 6e 75 6d 0d 7b |Type).//|..enum.{|
|00000800| 0d 09 6b 50 72 6f 70 65 | 72 74 79 49 44 57 6f 72 |..kPrope|rtyIDWor|
|00000810| 64 20 3d 20 6b 49 44 4f | 72 50 61 72 65 6e 74 45 |d = kIDO|rParentE|
|00000820| 6c 65 6d 65 6e 74 49 6e | 64 65 78 2c 0d 09 6b 46 |lementIn|dex,..kF|
|00000830| 69 72 73 74 44 61 74 61 | 57 6f 72 64 2c 0d 09 6b |irstData|Word,..k|
|00000840| 53 65 63 6f 6e 64 44 61 | 74 61 57 6f 72 64 2c 0d |SecondDa|taWord,.|
|00000850| 09 6b 54 68 69 72 64 44 | 61 74 61 57 6f 72 64 2c |.kThirdD|ataWord,|
|00000860| 0d 09 6b 45 78 74 65 72 | 6e 61 6c 44 61 74 61 49 |..kExter|nalDataI|
|00000870| 6e 64 65 78 20 3d 20 6b | 46 69 72 73 74 44 61 74 |ndex = k|FirstDat|
|00000880| 61 57 6f 72 64 2c 0d 09 | 6b 54 79 70 65 4f 66 50 |aWord,..|kTypeOfP|
|00000890| 72 6f 70 65 72 74 79 44 | 61 74 61 20 3d 20 6b 54 |ropertyD|ata = kT|
|000008a0| 68 69 72 64 44 61 74 61 | 57 6f 72 64 0d 7d 3b 0d |hirdData|Word.};.|
|000008b0| 0d 2f 2f 0d 2f 2f 20 43 | 6f 6e 73 74 61 6e 74 73 |.//.// C|onstants|
|000008c0| 20 66 6f 72 20 72 65 63 | 6f 72 64 20 66 6c 61 67 | for rec|ord flag|
|000008d0| 73 0d 2f 2f 0d 65 6e 75 | 6d 0d 7b 0d 09 6b 44 61 |s.//.enu|m.{..kDa|
|000008e0| 74 61 54 79 70 65 53 68 | 69 66 74 20 3d 20 38 2c |taTypeSh|ift = 8,|
|000008f0| 0d 09 6b 49 6e 74 65 72 | 6e 61 6c 4c 65 6e 67 74 |..kInter|nalLengt|
|00000900| 68 53 68 69 66 74 20 3d | 20 30 0d 7d 3b 0d 0d 63 |hShift =| 0.};..c|
|00000910| 6f 6e 73 74 20 6c 6f 6e | 67 20 6b 44 61 74 61 54 |onst lon|g kDataT|
|00000920| 79 70 65 4d 61 73 6b 20 | 3d 20 30 78 30 30 30 30 |ypeMask |= 0x0000|
|00000930| 46 46 30 30 4c 3b 0d 63 | 6f 6e 73 74 20 6c 6f 6e |FF00L;.c|onst lon|
|00000940| 67 20 6b 49 6e 74 65 72 | 6e 61 6c 4c 65 6e 67 74 |g kInter|nalLengt|
|00000950| 68 4d 61 73 6b 20 3d 20 | 30 78 30 30 30 30 30 30 |hMask = |0x000000|
|00000960| 46 46 4c 3b 0d 63 6f 6e | 73 74 20 6c 6f 6e 67 20 |FFL;.con|st long |
|00000970| 6b 44 61 74 61 53 74 6f | 72 65 64 45 78 74 65 72 |kDataSto|redExter|
|00000980| 6e 61 6c 6c 79 20 3d 20 | 6b 49 6e 74 65 72 6e 61 |nally = |kInterna|
|00000990| 6c 4c 65 6e 67 74 68 4d | 61 73 6b 3b 0d 0d 2f 2f |lLengthM|ask;..//|
|000009a0| 0d 2f 2f 20 45 6e 63 6f | 64 65 64 20 64 61 74 61 |.// Enco|ded data|
|000009b0| 20 74 79 70 65 73 0d 2f | 2f 0d 65 6e 75 6d 0d 7b | types./|/.enum.{|
|000009c0| 0d 09 2f 2f 0d 09 2f 2f | 20 41 20 22 6e 75 6c 6c |..//..//| A "null|
|000009d0| 22 20 74 79 70 65 20 6d | 65 61 6e 73 20 74 68 61 |" type m|eans tha|
|000009e0| 74 20 74 68 65 72 65 20 | 69 73 20 6e 6f 20 64 61 |t there |is no da|
|000009f0| 74 61 20 69 6e 20 74 68 | 65 20 70 72 6f 70 65 72 |ta in th|e proper|
|00000a00| 74 79 0d 09 2f 2f 0d 09 | 6b 45 6e 63 6f 64 65 64 |ty..//..|kEncoded|
|00000a10| 4e 75 6c 6c 54 79 70 65 | 20 3d 20 30 2c 0d 09 0d |NullType| = 0,...|
|00000a20| 09 2f 2f 0d 09 2f 2f 20 | 4d 6f 72 65 20 67 65 6e |.//..// |More gen|
|00000a30| 65 72 61 6c 20 73 65 74 | 73 20 6f 66 20 64 61 74 |eral set|s of dat|
|00000a40| 61 20 61 72 65 20 61 6c | 73 6f 20 73 75 70 70 6f |a are al|so suppo|
|00000a50| 72 74 65 64 2e 20 20 41 | 20 70 72 6f 70 65 72 74 |rted. A| propert|
|00000a60| 79 20 72 65 63 6f 72 64 | 0d 09 2f 2f 20 6d 61 79 |y record|..// may|
|00000a70| 20 63 6f 6e 74 61 69 6e | 20 61 20 73 65 74 20 6f | contain| a set o|
|00000a80| 66 20 70 72 6f 70 65 72 | 74 69 65 73 20 4f 52 20 |f proper|ties OR |
|00000a90| 61 20 73 65 74 20 6f 66 | 20 73 75 62 74 72 65 65 |a set of| subtree|
|00000aa0| 73 2e 20 20 53 65 74 73 | 20 61 72 65 0d 09 2f 2f |s. Sets| are..//|
|00000ab0| 20 6f 72 64 65 72 65 64 | 20 62 79 20 74 72 65 65 | ordered| by tree|
|00000ac0| 2d 69 6e 73 65 72 74 69 | 6f 6e 2d 6f 72 64 65 72 |-inserti|on-order|
|00000ad0| 20 28 62 79 20 70 72 6f | 70 65 72 74 79 20 49 44 | (by pro|perty ID|
|00000ae0| 20 6f 72 20 6e 61 6d 65 | 29 2c 20 61 6e 64 20 6d | or name|), and m|
|00000af0| 61 79 0d 09 2f 2f 20 62 | 65 20 69 74 65 72 61 74 |ay..// b|e iterat|
|00000b00| 65 64 20 6f 76 65 72 2e | 0d 09 2f 2f 0d 09 2f 2f |ed over.|..//..//|
|00000b10| 20 50 72 6f 70 65 72 74 | 79 20 73 65 74 73 20 63 | Propert|y sets c|
|00000b20| 6c 61 69 6d 20 74 6f 20 | 62 65 20 6f 66 20 74 79 |laim to |be of ty|
|00000b30| 70 65 20 22 6c 69 73 74 | 22 2e 0d 09 2f 2f 20 45 |pe "list|"...// E|
|00000b40| 6c 65 6d 65 6e 74 20 73 | 65 74 73 20 63 6c 61 69 |lement s|ets clai|
|00000b50| 6d 20 74 6f 20 62 65 20 | 6f 66 20 74 79 70 65 20 |m to be |of type |
|00000b60| 22 72 65 63 6f 72 64 22 | 2e 0d 09 2f 2f 0d 09 6b |"record"|...//..k|
|00000b70| 53 65 74 4f 66 50 72 6f | 70 65 72 74 69 65 73 2c |SetOfPro|perties,|
|00000b80| 0d 09 6b 53 65 74 4f 66 | 45 6c 65 6d 65 6e 74 73 |..kSetOf|Elements|
|00000b90| 2c 0d 09 0d 09 2f 2f 0d | 09 2f 2f 20 41 6e 20 65 |,....//.|.// An e|
|00000ba0| 78 74 65 72 6e 61 6c 20 | 74 79 70 65 64 20 73 74 |xternal |typed st|
|00000bb0| 72 75 63 74 75 72 65 20 | 69 73 20 61 20 63 68 75 |ructure |is a chu|
|00000bc0| 6e 6b 20 6f 66 20 64 61 | 74 61 20 77 68 6f 73 65 |nk of da|ta whose|
|00000bd0| 20 74 79 70 65 0d 09 2f | 2f 20 69 73 20 73 74 6f | type../|/ is sto|
|00000be0| 72 65 64 20 69 6e 20 74 | 68 65 20 70 72 6f 70 65 |red in t|he prope|
|00000bf0| 72 74 79 20 72 65 63 6f | 72 64 2c 20 62 75 74 20 |rty reco|rd, but |
|00000c00| 77 68 6f 73 65 20 64 61 | 74 61 20 69 73 20 73 74 |whose da|ta is st|
|00000c10| 6f 72 65 64 0d 09 2f 2f | 20 69 6e 20 61 6e 20 65 |ored..//| in an e|
|00000c20| 78 74 65 72 6e 61 6c 20 | 64 61 74 61 20 62 6c 6f |xternal |data blo|
|00000c30| 63 6b 20 28 62 65 63 61 | 75 73 65 20 69 74 73 20 |ck (beca|use its |
|00000c40| 6c 65 6e 67 74 68 20 69 | 73 20 67 72 65 61 74 65 |length i|s greate|
|00000c50| 72 20 74 68 61 6e 0d 09 | 2f 2f 20 31 32 20 62 79 |r than..|// 12 by|
|00000c60| 74 65 73 20 66 6f 72 20 | 73 74 72 69 6e 67 73 20 |tes for |strings |
|00000c70| 6f 72 20 38 20 62 79 74 | 65 73 20 66 6f 72 20 6f |or 8 byt|es for o|
|00000c80| 74 68 65 72 20 74 79 70 | 65 73 29 2e 0d 09 2f 2f |ther typ|es)...//|
|00000c90| 0d 09 2f 2f 20 41 6e 20 | 69 6e 74 65 72 61 6c 20 |..// An |interal |
|00000ca0| 74 79 70 65 64 20 73 74 | 72 75 63 74 75 72 65 20 |typed st|ructure |
|00000cb0| 69 73 20 61 20 63 68 75 | 6e 6b 20 6f 66 20 64 61 |is a chu|nk of da|
|00000cc0| 74 61 20 73 74 6f 72 65 | 64 20 69 6e 73 69 64 65 |ta store|d inside|
|00000cd0| 0d 09 2f 2f 20 74 68 65 | 20 70 72 6f 70 65 72 74 |..// the| propert|
|00000ce0| 79 20 72 65 63 6f 72 64 | 20 69 74 73 65 6c 66 2e |y record| itself.|
|00000cf0| 0d 09 2f 2f 0d 09 6b 45 | 6e 63 6f 64 65 64 54 79 |..//..kE|ncodedTy|
|00000d00| 70 65 64 53 74 72 75 63 | 74 75 72 65 2c 0d 09 0d |pedStruc|ture,...|
|00000d10| 09 2f 2f 0d 09 2f 2f 20 | 57 65 6c 6c 2d 6b 6e 6f |.//..// |Well-kno|
|00000d20| 77 6e 20 64 61 74 61 20 | 74 79 70 65 73 3a 0d 09 |wn data |types:..|
|00000d30| 2f 2f 0d 09 2f 2f 20 43 | 75 72 72 65 6e 74 6c 79 |//..// C|urrently|
|00000d40| 2c 20 74 68 65 72 65 20 | 69 73 20 6f 6e 6c 79 20 |, there |is only |
|00000d50| 6f 6e 65 20 77 65 6c 6c | 2d 6b 6e 6f 77 6e 20 64 |one well|-known d|
|00000d60| 61 74 61 20 74 79 70 65 | 3a 20 20 61 20 73 74 72 |ata type|: a str|
|00000d70| 69 6e 67 2e 0d 09 2f 2f | 20 54 68 65 20 70 75 72 |ing...//| The pur|
|00000d80| 70 6f 73 65 20 66 6f 72 | 20 68 61 76 69 6e 67 20 |pose for| having |
|00000d90| 61 20 77 65 6c 6c 2d 6b | 6e 6f 77 6e 20 74 79 70 |a well-k|nown typ|
|00000da0| 65 20 69 73 20 74 6f 20 | 61 76 6f 69 64 20 77 61 |e is to |avoid wa|
|00000db0| 73 74 69 6e 67 0d 09 2f | 2f 20 66 6f 75 72 20 62 |sting../|/ four b|
|00000dc0| 79 74 65 73 20 69 6e 20 | 74 68 65 20 70 72 6f 70 |ytes in |the prop|
|00000dd0| 65 72 74 79 20 72 65 63 | 6f 72 64 20 6a 75 73 74 |erty rec|ord just|
|00000de0| 20 74 6f 20 73 74 6f 72 | 65 20 74 68 65 20 64 61 | to stor|e the da|
|00000df0| 74 61 20 74 79 70 65 2e | 0d 09 2f 2f 20 54 68 65 |ta type.|..// The|
|00000e00| 20 64 61 74 61 20 74 79 | 70 65 20 69 73 20 69 6e | data ty|pe is in|
|00000e10| 73 74 65 61 64 20 65 6e | 63 6f 64 65 64 20 69 6e |stead en|coded in|
|00000e20| 20 74 68 65 20 22 74 79 | 70 65 22 20 66 69 65 6c | the "ty|pe" fiel|
|00000e30| 64 20 6f 66 20 74 68 65 | 0d 09 2f 2f 20 72 65 63 |d of the|..// rec|
|00000e40| 6f 72 64 20 77 6f 72 64 | 2e 20 20 54 68 75 73 2c |ord word|. Thus,|
|00000e50| 20 77 65 6c 6c 2d 6b 6e | 6f 77 6e 20 74 79 70 65 | well-kn|own type|
|00000e60| 73 20 63 61 6e 20 62 65 | 20 75 70 20 74 6f 20 31 |s can be| up to 1|
|00000e70| 32 20 62 79 74 65 73 20 | 6c 6f 6e 67 0d 09 2f 2f |2 bytes |long..//|
|00000e80| 20 62 65 66 6f 72 65 20 | 74 68 65 79 20 6d 75 73 | before |they mus|
|00000e90| 74 20 75 73 65 20 65 78 | 74 65 72 6e 61 6c 20 64 |t use ex|ternal d|
|00000ea0| 61 74 61 20 73 74 6f 72 | 61 67 65 2c 20 77 68 65 |ata stor|age, whe|
|00000eb0| 72 61 73 20 6f 74 68 65 | 72 20 74 79 70 65 73 0d |ras othe|r types.|
|00000ec0| 09 2f 2f 20 63 61 6e 20 | 6f 6e 6c 79 20 62 65 20 |.// can |only be |
|00000ed0| 38 20 62 79 74 65 73 20 | 6c 6f 6e 67 2e 20 20 28 |8 bytes |long. (|
|00000ee0| 6e 2e 62 2e 20 69 74 20 | 69 73 20 75 6e 6e 65 63 |n.b. it |is unnec|
|00000ef0| 65 73 73 61 72 79 20 74 | 6f 20 68 61 76 65 20 77 |essary t|o have w|
|00000f00| 65 6c 6c 0d 09 2f 2f 20 | 6b 6e 6f 77 6e 20 74 79 |ell..// |known ty|
|00000f10| 70 65 73 20 66 6f 72 20 | 64 61 74 61 20 74 79 70 |pes for |data typ|
|00000f20| 65 73 20 74 68 61 74 20 | 77 69 6c 6c 20 61 6c 77 |es that |will alw|
|00000f30| 61 79 73 20 62 65 20 38 | 20 62 79 74 65 73 20 6f |ays be 8| bytes o|
|00000f40| 72 20 6c 65 73 73 2c 0d | 09 2f 2f 20 65 2e 67 2e |r less,.|.// e.g.|
|00000f50| 20 6c 6f 6e 67 20 69 6e | 74 65 67 65 72 73 2c 20 | long in|tegers, |
|00000f60| 6f 72 20 66 6f 72 20 64 | 61 74 61 20 74 79 70 65 |or for d|ata type|
|00000f70| 73 20 74 68 61 74 20 77 | 69 6c 6c 20 61 6c 77 61 |s that w|ill alwa|
|00000f80| 79 73 20 62 65 0d 09 2f | 2f 20 67 72 65 61 74 65 |ys be../|/ greate|
|00000f90| 72 20 74 68 61 6e 20 31 | 32 20 62 79 74 65 73 20 |r than 1|2 bytes |
|00000fa0| 69 6e 20 6c 65 6e 67 74 | 68 2c 20 65 2e 67 2e 20 |in lengt|h, e.g. |
|00000fb0| 70 69 63 74 75 72 65 73 | 29 2e 0d 09 2f 2f 0d 09 |pictures|)...//..|
|00000fc0| 6b 46 69 72 73 74 57 65 | 6c 6c 4b 6e 6f 77 6e 54 |kFirstWe|llKnownT|
|00000fd0| 79 70 65 2c 0d 09 6b 45 | 6e 63 6f 64 65 64 53 6d |ype,..kE|ncodedSm|
|00000fe0| 61 6c 6c 53 74 72 69 6e | 67 54 79 70 65 2c 0d 09 |allStrin|gType,..|
|00000ff0| 6b 4c 61 73 74 57 65 6c | 6c 4b 6e 6f 77 6e 54 79 |kLastWel|lKnownTy|
|00001000| 70 65 0d 7d 3b 0d 0d 2f | 2f 0d 2f 2f 20 44 61 74 |pe.};../|/.// Dat|
|00001010| 61 20 74 79 70 65 73 20 | 74 68 61 74 20 77 65 20 |a types |that we |
|00001020| 6b 6e 6f 77 20 61 62 6f | 75 74 3b 20 74 68 65 73 |know abo|ut; thes|
|00001030| 65 20 63 6f 6e 73 74 61 | 6e 74 73 20 61 72 65 20 |e consta|nts are |
|00001040| 74 68 65 0d 2f 2f 20 73 | 61 6d 65 20 61 73 20 74 |the.// s|ame as t|
|00001050| 68 6f 73 65 20 64 65 66 | 69 6e 65 64 20 69 6e 20 |hose def|ined in |
|00001060| 41 70 70 6c 65 45 76 65 | 6e 74 73 2e 68 2c 20 62 |AppleEve|nts.h, b|
|00001070| 75 74 20 49 20 64 69 64 | 6e 27 74 20 77 61 6e 74 |ut I did|n't want|
|00001080| 0d 2f 2f 20 74 6f 20 64 | 65 70 65 6e 64 20 6f 6e |.// to d|epend on|
|00001090| 20 4d 61 63 69 6e 74 6f | 73 68 20 68 65 61 64 65 | Macinto|sh heade|
|000010a0| 72 20 66 69 6c 65 73 20 | 68 65 72 65 2c 20 73 6f |r files |here, so|
|000010b0| 20 49 20 72 65 64 65 66 | 69 6e 65 64 0d 2f 2f 20 | I redef|ined.// |
|000010c0| 74 68 65 20 63 6f 6e 73 | 74 61 6e 74 73 20 73 69 |the cons|tants si|
|000010d0| 6e 63 65 20 74 68 65 20 | 73 65 74 20 6f 66 20 6b |nce the |set of k|
|000010e0| 6e 6f 77 6e 20 74 79 70 | 65 73 20 69 73 20 73 6d |nown typ|es is sm|
|000010f0| 61 6c 6c 2e 0d 2f 2f 0d | 65 6e 75 6d 0d 7b 0d 09 |all..//.|enum.{..|
|00001100| 6b 4e 75 6c 6c 54 79 70 | 65 09 09 09 09 09 3d 20 |kNullTyp|e.....= |
|00001110| 27 6e 75 6c 6c 27 2c 09 | 09 09 2f 2f 20 74 79 70 |'null',.|..// typ|
|00001120| 65 4e 75 6c 6c 0d 09 6b | 4c 6f 6e 67 54 79 70 65 |eNull..k|LongType|
|00001130| 09 09 09 09 09 3d 20 27 | 6c 6f 6e 67 27 2c 09 09 |.....= '|long',..|
|00001140| 09 2f 2f 20 74 79 70 65 | 4c 6f 6e 67 49 6e 74 65 |.// type|LongInte|
|00001150| 67 65 72 0d 09 6b 4c 69 | 73 74 54 79 70 65 09 09 |ger..kLi|stType..|
|00001160| 09 09 09 3d 20 27 6c 69 | 73 74 27 2c 09 09 09 2f |...= 'li|st',.../|
|00001170| 2f 20 74 79 70 65 41 45 | 4c 69 73 74 0d 09 6b 52 |/ typeAE|List..kR|
|00001180| 65 63 6f 72 64 54 79 70 | 65 09 09 09 09 09 3d 20 |ecordTyp|e.....= |
|00001190| 27 72 65 63 6f 27 2c 09 | 09 09 2f 2f 20 74 79 70 |'reco',.|..// typ|
|000011a0| 65 41 45 52 65 63 6f 72 | 64 0d 09 6b 53 74 72 69 |eAERecor|d..kStri|
|000011b0| 6e 67 54 79 70 65 09 09 | 09 09 09 3d 20 27 54 45 |ngType..|...= 'TE|
|000011c0| 58 54 27 09 09 09 2f 2f | 20 74 79 70 65 43 68 61 |XT'...//| typeCha|
|000011d0| 72 0d 7d 3b 0d 0d 63 6c | 61 73 73 20 54 44 42 45 |r.};..cl|ass TDBE|
|000011e0| 6c 65 6d 65 6e 74 3b 0d | 0d 2f 2f 3d 3d 3d 3d 3d |lement;.|.//=====|
|000011f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001200| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001210| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001220| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001230| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0d 2f 2f 20 43 |========|===.// C|
|00001240| 6c 61 73 73 20 54 44 42 | 50 72 6f 70 65 72 74 79 |lass TDB|Property|
|00001250| 0d 2f 2f 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.//=====|========|
|00001260| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001270| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001280| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001290| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000012a0| 3d 3d 3d 0d 63 6c 61 73 | 73 20 54 44 42 50 72 6f |===.clas|s TDBPro|
|000012b0| 70 65 72 74 79 20 3a 20 | 70 75 62 6c 69 63 20 54 |perty : |public T|
|000012c0| 44 42 52 65 63 6f 72 64 | 0d 7b 0d 09 2f 2f 0d 09 |DBRecord|.{..//..|
|000012d0| 2f 2f 20 41 20 44 42 45 | 6c 65 6d 65 6e 74 20 6e |// A DBE|lement n|
|000012e0| 65 65 64 73 20 74 6f 20 | 6d 61 75 6c 20 61 20 44 |eeds to |maul a D|
|000012f0| 42 50 72 6f 70 65 72 74 | 79 20 74 68 61 74 20 69 |BPropert|y that i|
|00001300| 73 20 61 64 64 65 64 20 | 74 6f 20 69 74 2e 0d 09 |s added |to it...|
|00001310| 2f 2f 0d 09 66 72 69 65 | 6e 64 20 63 6c 61 73 73 |//..frie|nd class|
|00001320| 20 54 44 42 45 6c 65 6d | 65 6e 74 3b 0d 09 0d 09 | TDBElem|ent;....|
|00001330| 2f 2f 0d 09 2f 2f 20 2d | 2d 2d 2d 2d 20 46 69 65 |//..// -|---- Fie|
|00001340| 6c 64 73 20 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |lds ----|--------|
|00001350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001360| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001370| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001380| 2d 2d 0d 09 2f 2f 0d 70 | 72 6f 74 65 63 74 65 64 |--..//.p|rotected|
|00001390| 3a 0d 09 41 43 6f 6e 73 | 74 3c 54 44 61 74 61 52 |:..ACons|t<TDataR|
|000013a0| 65 63 6f 72 64 3e 09 09 | 09 66 45 78 74 65 72 6e |ecord>..|.fExtern|
|000013b0| 61 6c 44 61 74 61 3b 0d | 09 0d 09 2f 2f 0d 09 2f |alData;.|...//../|
|000013c0| 2f 20 2d 2d 2d 2d 2d 20 | 4d 65 74 68 6f 64 73 20 |/ ----- |Methods |
|000013d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001400| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 09 2f |--------|-----../|
|00001410| 2f 0d 0d 70 75 62 6c 69 | 63 3a 0d 09 09 09 09 09 |/..publi|c:......|
|00001420| 09 09 09 54 44 42 50 72 | 6f 70 65 72 74 79 28 54 |...TDBPr|operty(T|
|00001430| 44 61 74 61 62 61 73 65 | 44 6f 63 75 6d 65 6e 74 |Database|Document|
|00001440| 2a 20 64 6f 63 2c 20 6c | 6f 6e 67 20 72 65 63 6f |* doc, l|ong reco|
|00001450| 72 64 49 6e 64 65 78 29 | 20 3a 0d 09 09 09 09 09 |rdIndex)| :......|
|00001460| 09 09 09 09 54 44 42 52 | 65 63 6f 72 64 28 64 6f |....TDBR|ecord(do|
|00001470| 63 2c 20 72 65 63 6f 72 | 64 49 6e 64 65 78 29 20 |c, recor|dIndex) |
|00001480| 7b 7d 3b 0d 09 76 69 72 | 74 75 61 6c 09 09 09 09 |{};..vir|tual....|
|00001490| 09 09 7e 54 44 42 50 72 | 6f 70 65 72 74 79 28 29 |..~TDBPr|operty()|
|000014a0| 3b 0d 09 0d 09 2f 2f 3a | 3a 3a 3a 3a 3a 3a 3a 3a |;....//:|::::::::|
|000014b0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|000014c0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|000014d0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|000014e0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|000014f0| 3a 3a 3a 0d 09 2f 2f 20 | 4d 65 74 68 6f 64 73 20 |:::..// |Methods |
|00001500| 6f 66 20 54 41 62 73 74 | 72 61 63 74 52 65 63 6f |of TAbst|ractReco|
|00001510| 72 64 3a 0d 09 2f 2f 3a | 3a 3a 3a 3a 3a 3a 3a 3a |rd:..//:|::::::::|
|00001520| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001530| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001540| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001550| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001560| 3a 3a 3a 0d 0d 70 75 62 | 6c 69 63 3a 0d 0d 09 76 |:::..pub|lic:...v|
|00001570| 69 72 74 75 61 6c 20 76 | 6f 69 64 09 09 09 09 46 |irtual v|oid....F|
|00001580| 72 65 65 4f 77 6e 65 64 | 44 61 74 61 28 54 54 72 |reeOwned|Data(TTr|
|00001590| 61 6e 73 61 63 74 69 6f | 6e 2a 20 74 29 3b 0d 0d |ansactio|n* t);..|
|000015a0| 70 72 6f 74 65 63 74 65 | 64 3a 0d 0d 09 76 69 72 |protecte|d:...vir|
|000015b0| 74 75 61 6c 20 63 6f 6e | 73 74 20 54 44 42 50 72 |tual con|st TDBPr|
|000015c0| 6f 70 65 72 74 79 2a 20 | 44 42 50 72 6f 70 65 72 |operty* |DBProper|
|000015d0| 74 79 52 65 63 6f 72 64 | 28 29 20 63 6f 6e 73 74 |tyRecord|() const|
|000015e0| 20 7b 20 72 65 74 75 72 | 6e 20 74 68 69 73 3b 20 | { retur|n this; |
|000015f0| 7d 3b 0d 0d 09 2f 2f 3a | 3a 3a 3a 3a 3a 3a 3a 3a |};...//:|::::::::|
|00001600| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001610| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001620| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001630| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001640| 3a 3a 3a 0d 09 2f 2f 20 | 4d 65 74 68 6f 64 73 20 |:::..// |Methods |
|00001650| 6f 66 20 54 44 42 52 65 | 63 6f 72 64 3a 0d 09 2f |of TDBRe|cord:../|
|00001660| 2f 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |/:::::::|::::::::|
|00001670| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001680| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001690| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|000016a0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 0d 0d 70 |::::::::|:::::..p|
|000016b0| 75 62 6c 69 63 3a 0d 0d | 09 76 69 72 74 75 61 6c |ublic:..|.virtual|
|000016c0| 20 76 6f 69 64 09 09 09 | 09 49 6e 69 74 69 61 6c | void...|.Initial|
|000016d0| 69 7a 65 4e 65 77 52 65 | 63 6f 72 64 28 54 54 72 |izeNewRe|cord(TTr|
|000016e0| 61 6e 73 61 63 74 69 6f | 6e 2a 20 74 29 3b 0d 09 |ansactio|n* t);..|
|000016f0| 76 69 72 74 75 61 6c 20 | 43 6f 6d 70 61 72 65 45 |virtual |CompareE|
|00001700| 6e 75 6d 65 72 61 74 69 | 6f 6e 09 43 6f 6d 70 61 |numerati|on.Compa|
|00001710| 72 65 53 6f 72 74 4b 65 | 79 73 28 54 54 72 61 6e |reSortKe|ys(TTran|
|00001720| 73 61 63 74 69 6f 6e 2a | 20 74 2c 20 41 43 6f 6e |saction*| t, ACon|
|00001730| 73 74 3c 54 44 42 52 65 | 63 6f 72 64 3e 29 20 63 |st<TDBRe|cord>) c|
|00001740| 6f 6e 73 74 3b 0d 09 76 | 69 72 74 75 61 6c 20 42 |onst;..v|irtual B|
|00001750| 6f 6f 6c 65 61 6e 09 09 | 09 09 52 65 63 6f 72 64 |oolean..|..Record|
|00001760| 43 61 6e 48 61 76 65 45 | 6c 65 6d 65 6e 74 73 28 |CanHaveE|lements(|
|00001770| 54 54 72 61 6e 73 61 63 | 74 69 6f 6e 2a 20 74 29 |TTransac|tion* t)|
|00001780| 20 63 6f 6e 73 74 3b 0d | 09 76 69 72 74 75 61 6c | const;.|.virtual|
|00001790| 20 42 6f 6f 6c 65 61 6e | 09 09 09 09 52 65 63 6f | Boolean|....Reco|
|000017a0| 72 64 43 61 6e 48 61 76 | 65 50 72 6f 70 65 72 74 |rdCanHav|ePropert|
|000017b0| 69 65 73 28 54 54 72 61 | 6e 73 61 63 74 69 6f 6e |ies(TTra|nsaction|
|000017c0| 2a 20 74 29 20 63 6f 6e | 73 74 3b 0d 09 76 69 72 |* t) con|st;..vir|
|000017d0| 74 75 61 6c 20 76 6f 69 | 64 09 09 09 09 52 65 6d |tual voi|d....Rem|
|000017e0| 6f 76 65 46 72 6f 6d 54 | 72 65 65 28 54 54 72 61 |oveFromT|ree(TTra|
|000017f0| 6e 73 61 63 74 69 6f 6e | 2a 20 74 29 3b 09 0d 09 |nsaction|* t);...|
|00001800| 0d 09 2f 2f 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |..//::::|::::::::|
|00001810| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001820| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001830| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001840| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001850| 0d 09 2f 2f 20 50 75 62 | 6c 69 63 20 69 6e 74 65 |..// Pub|lic inte|
|00001860| 72 66 61 63 65 3a 20 63 | 6f 6e 73 74 20 6d 65 74 |rface: c|onst met|
|00001870| 68 6f 64 73 0d 09 2f 2f | 3a 3a 3a 3a 3a 3a 3a 3a |hods..//|::::::::|
|00001880| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001890| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|000018a0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|000018b0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|000018c0| 3a 3a 3a 3a 0d 0d 70 75 | 62 6c 69 63 3a 0d 0d 09 |::::..pu|blic:...|
|000018d0| 6c 6f 6e 67 09 09 09 09 | 09 09 50 72 6f 70 65 72 |long....|..Proper|
|000018e0| 74 79 49 44 28 54 54 72 | 61 6e 73 61 63 74 69 6f |tyID(TTr|ansactio|
|000018f0| 6e 2a 20 74 29 20 63 6f | 6e 73 74 20 7b 20 72 65 |n* t) co|nst { re|
|00001900| 74 75 72 6e 20 74 68 69 | 73 2d 3e 47 65 74 52 65 |turn thi|s->GetRe|
|00001910| 63 6f 72 64 44 61 74 61 | 28 74 2c 20 6b 50 72 6f |cordData|(t, kPro|
|00001920| 70 65 72 74 79 49 44 57 | 6f 72 64 29 3b 20 7d 3b |pertyIDW|ord); };|
|00001930| 0d 09 6c 6f 6e 67 09 09 | 09 09 09 09 47 65 74 44 |..long..|....GetD|
|00001940| 61 74 61 54 79 70 65 28 | 54 54 72 61 6e 73 61 63 |ataType(|TTransac|
|00001950| 74 69 6f 6e 2a 20 74 29 | 20 63 6f 6e 73 74 3b 0d |tion* t)| const;.|
|00001960| 09 6c 6f 6e 67 09 09 09 | 09 09 09 47 65 74 44 61 |.long...|...GetDa|
|00001970| 74 61 4c 65 6e 67 74 68 | 28 54 54 72 61 6e 73 61 |taLength|(TTransa|
|00001980| 63 74 69 6f 6e 2a 20 74 | 29 20 63 6f 6e 73 74 3b |ction* t|) const;|
|00001990| 0d 09 0d 09 6c 6f 6e 67 | 09 09 09 09 09 09 47 65 |....long|......Ge|
|000019a0| 74 4c 6f 6e 67 44 61 74 | 61 28 54 54 72 61 6e 73 |tLongDat|a(TTrans|
|000019b0| 61 63 74 69 6f 6e 2a 20 | 74 29 20 63 6f 6e 73 74 |action* |t) const|
|000019c0| 3b 0d 09 76 6f 69 64 09 | 09 09 09 09 09 47 65 74 |;..void.|.....Get|
|000019d0| 54 79 70 65 64 44 61 74 | 61 28 54 54 72 61 6e 73 |TypedDat|a(TTrans|
|000019e0| 61 63 74 69 6f 6e 2a 20 | 74 2c 20 54 55 70 64 61 |action* |t, TUpda|
|000019f0| 74 61 44 61 74 61 52 65 | 66 65 72 65 6e 63 65 26 |taDataRe|ference&|
|00001a00| 20 64 61 74 61 29 20 63 | 6f 6e 73 74 3b 0d 09 43 | data) c|onst;..C|
|00001a10| 6f 6d 70 61 72 65 45 6e | 75 6d 65 72 61 74 69 6f |ompareEn|umeratio|
|00001a20| 6e 09 09 09 43 6f 6d 70 | 61 72 65 28 54 54 72 61 |n...Comp|are(TTra|
|00001a30| 6e 73 61 63 74 69 6f 6e | 2a 20 74 2c 20 63 6f 6e |nsaction|* t, con|
|00001a40| 73 74 20 54 43 6f 6e 73 | 74 44 61 74 61 52 65 66 |st TCons|tDataRef|
|00001a50| 65 72 65 6e 63 65 26 20 | 63 6f 6d 70 61 72 65 57 |erence& |compareW|
|00001a60| 69 74 68 29 20 63 6f 6e | 73 74 3b 0d 09 43 6f 6d |ith) con|st;..Com|
|00001a70| 70 61 72 65 45 6e 75 6d | 65 72 61 74 69 6f 6e 09 |pareEnum|eration.|
|00001a80| 09 09 43 6f 6d 70 61 72 | 65 28 54 54 72 61 6e 73 |..Compar|e(TTrans|
|00001a90| 61 63 74 69 6f 6e 2a 20 | 74 2c 20 41 43 6f 6e 73 |action* |t, ACons|
|00001aa0| 74 3c 54 44 42 50 72 6f | 70 65 72 74 79 3e 20 63 |t<TDBPro|perty> c|
|00001ab0| 6f 6d 70 61 72 65 57 69 | 74 68 29 20 63 6f 6e 73 |ompareWi|th) cons|
|00001ac0| 74 3b 0d 09 42 6f 6f 6c | 65 61 6e 09 09 09 09 09 |t;..Bool|ean.....|
|00001ad0| 09 43 6f 6e 74 61 69 6e | 73 28 54 54 72 61 6e 73 |.Contain|s(TTrans|
|00001ae0| 61 63 74 69 6f 6e 2a 20 | 74 2c 20 63 6f 6e 73 74 |action* |t, const|
|00001af0| 20 54 43 6f 6e 73 74 44 | 61 74 61 52 65 66 65 72 | TConstD|ataRefer|
|00001b00| 65 6e 63 65 26 20 73 65 | 61 72 63 68 46 6f 72 29 |ence& se|archFor)|
|00001b10| 20 63 6f 6e 73 74 3b 0d | 09 42 6f 6f 6c 65 61 6e | const;.|.Boolean|
|00001b20| 09 09 09 09 09 09 43 6f | 6e 74 61 69 6e 73 28 54 |......Co|ntains(T|
|00001b30| 54 72 61 6e 73 61 63 74 | 69 6f 6e 2a 20 74 2c 20 |Transact|ion* t, |
|00001b40| 41 43 6f 6e 73 74 3c 54 | 44 42 50 72 6f 70 65 72 |AConst<T|DBProper|
|00001b50| 74 79 3e 20 63 6f 6d 70 | 61 72 65 57 69 74 68 29 |ty> comp|areWith)|
|00001b60| 20 63 6f 6e 73 74 3b 0d | 09 0d 09 2f 2f 3a 3a 3a | const;.|...//:::|
|00001b70| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001b80| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001b90| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001ba0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001bb0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 0d 09 2f 2f 20 50 75 |::::::::|:..// Pu|
|00001bc0| 62 6c 69 63 20 69 6e 74 | 65 72 66 61 63 65 3a 20 |blic int|erface: |
|00001bd0| 6e 6f 6e 2d 63 6f 6e 73 | 74 20 6d 65 74 68 6f 64 |non-cons|t method|
|00001be0| 73 0d 09 2f 2f 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |s..//:::|::::::::|
|00001bf0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001c00| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001c10| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001c20| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001c30| 3a 0d 0d 09 76 6f 69 64 | 09 09 09 09 09 09 53 65 |:...void|......Se|
|00001c40| 74 50 72 6f 70 65 72 74 | 79 49 44 28 54 54 72 61 |tPropert|yID(TTra|
|00001c50| 6e 73 61 63 74 69 6f 6e | 2a 20 74 2c 20 6c 6f 6e |nsaction|* t, lon|
|00001c60| 67 20 6e 65 77 56 61 6c | 75 65 29 20 7b 20 74 68 |g newVal|ue) { th|
|00001c70| 69 73 2d 3e 43 68 61 6e | 67 65 52 65 63 6f 72 64 |is->Chan|geRecord|
|00001c80| 44 61 74 61 28 74 2c 20 | 6b 50 72 6f 70 65 72 74 |Data(t, |kPropert|
|00001c90| 79 49 44 57 6f 72 64 2c | 20 6e 65 77 56 61 6c 75 |yIDWord,| newValu|
|00001ca0| 65 29 3b 20 74 68 69 73 | 2d 3e 52 65 73 6f 72 74 |e); this|->Resort|
|00001cb0| 54 68 69 73 52 65 63 6f | 72 64 28 74 29 3b 20 7d |ThisReco|rd(t); }|
|00001cc0| 3b 0d 0d 09 76 6f 69 64 | 09 09 09 09 09 09 4d 61 |;...void|......Ma|
|00001cd0| 6b 65 45 6d 70 74 79 28 | 54 54 72 61 6e 73 61 63 |keEmpty(|TTransac|
|00001ce0| 74 69 6f 6e 2a 20 74 29 | 3b 0d 09 76 6f 69 64 09 |tion* t)|;..void.|
|00001cf0| 09 09 09 09 09 53 65 74 | 4c 6f 6e 67 44 61 74 61 |.....Set|LongData|
|00001d00| 28 54 54 72 61 6e 73 61 | 63 74 69 6f 6e 2a 20 74 |(TTransa|ction* t|
|00001d10| 2c 20 6c 6f 6e 67 20 6e | 65 77 56 61 6c 75 65 29 |, long n|ewValue)|
|00001d20| 3b 0d 09 76 6f 69 64 09 | 09 09 09 09 09 53 65 74 |;..void.|.....Set|
|00001d30| 54 79 70 65 64 44 61 74 | 61 28 54 54 72 61 6e 73 |TypedDat|a(TTrans|
|00001d40| 61 63 74 69 6f 6e 2a 20 | 74 2c 20 63 6f 6e 73 74 |action* |t, const|
|00001d50| 20 54 43 6f 6e 73 74 44 | 61 74 61 52 65 66 65 72 | TConstD|ataRefer|
|00001d60| 65 6e 63 65 26 20 64 61 | 74 61 29 3b 0d 0d 09 2f |ence& da|ta);.../|
|00001d70| 2f 0d 09 2f 2f 20 44 6f | 20 64 65 62 75 67 67 69 |/..// Do| debuggi|
|00001d80| 6e 67 20 74 65 73 74 73 | 20 6f 6e 20 74 68 69 73 |ng tests| on this|
|00001d90| 20 6e 6f 64 65 0d 09 2f | 2f 0d 09 76 69 72 74 75 | node../|/..virtu|
|00001da0| 61 6c 20 76 6f 69 64 09 | 09 09 09 56 65 72 69 66 |al void.|...Verif|
|00001db0| 79 28 54 54 72 61 6e 73 | 61 63 74 69 6f 6e 2a 20 |y(TTrans|action* |
|00001dc0| 74 2c 20 42 6f 6f 6c 65 | 61 6e 20 76 65 72 69 66 |t, Boole|an verif|
|00001dd0| 79 44 65 65 70 20 3d 20 | 66 61 6c 73 65 29 20 63 |yDeep = |false) c|
|00001de0| 6f 6e 73 74 3b 0d 0d 09 | 2f 2f 3a 3a 3a 3a 3a 3a |onst;...|//::::::|
|00001df0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001e00| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001e10| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001e20| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001e30| 3a 3a 3a 3a 3a 3a 0d 09 | 2f 2f 20 50 72 6f 74 65 |::::::..|// Prote|
|00001e40| 63 74 65 64 20 69 6e 74 | 65 72 66 61 63 65 3a 20 |cted int|erface: |
|00001e50| 63 6f 6e 73 74 20 6d 65 | 74 68 6f 64 73 0d 09 2f |const me|thods../|
|00001e60| 2f 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |/:::::::|::::::::|
|00001e70| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001e80| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001e90| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00001ea0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 0d 0d 70 |::::::::|:::::..p|
|00001eb0| 72 6f 74 65 63 74 65 64 | 3a 0d 0d 09 6c 6f 6e 67 |rotected|:...long|
|00001ec0| 09 09 09 09 09 09 47 65 | 74 45 6e 63 6f 64 65 64 |......Ge|tEncoded|
|00001ed0| 44 61 74 61 54 79 70 65 | 28 54 54 72 61 6e 73 61 |DataType|(TTransa|
|00001ee0| 63 74 69 6f 6e 2a 20 74 | 29 20 63 6f 6e 73 74 09 |ction* t|) const.|
|00001ef0| 09 7b 20 72 65 74 75 72 | 6e 20 28 28 74 68 69 73 |.{ retur|n ((this|
|00001f00| 2d 3e 52 65 63 6f 72 64 | 46 6c 61 67 73 28 74 29 |->Record|Flags(t)|
|00001f10| 20 26 20 6b 44 61 74 61 | 54 79 70 65 4d 61 73 6b | & kData|TypeMask|
|00001f20| 29 20 3e 3e 20 6b 44 61 | 74 61 54 79 70 65 53 68 |) >> kDa|taTypeSh|
|00001f30| 69 66 74 29 3b 20 7d 0d | 09 6c 6f 6e 67 09 09 09 |ift); }.|.long...|
|00001f40| 09 09 09 47 65 74 49 6e | 74 65 72 6e 61 6c 44 61 |...GetIn|ternalDa|
|00001f50| 74 61 4c 65 6e 67 74 68 | 28 54 54 72 61 6e 73 61 |taLength|(TTransa|
|00001f60| 63 74 69 6f 6e 2a 20 74 | 29 20 63 6f 6e 73 74 09 |ction* t|) const.|
|00001f70| 7b 20 72 65 74 75 72 6e | 20 28 28 74 68 69 73 2d |{ return| ((this-|
|00001f80| 3e 52 65 63 6f 72 64 46 | 6c 61 67 73 28 74 29 20 |>RecordF|lags(t) |
|00001f90| 26 20 6b 49 6e 74 65 72 | 6e 61 6c 4c 65 6e 67 74 |& kInter|nalLengt|
|00001fa0| 68 4d 61 73 6b 29 20 3e | 3e 20 6b 49 6e 74 65 72 |hMask) >|> kInter|
|00001fb0| 6e 61 6c 4c 65 6e 67 74 | 68 53 68 69 66 74 29 3b |nalLengt|hShift);|
|00001fc0| 20 7d 0d 09 42 6f 6f 6c | 65 61 6e 09 09 09 09 09 | }..Bool|ean.....|
|00001fd0| 09 4f 77 6e 73 45 78 74 | 65 72 6e 61 6c 44 61 74 |.OwnsExt|ernalDat|
|00001fe0| 61 28 54 54 72 61 6e 73 | 61 63 74 69 6f 6e 2a 20 |a(TTrans|action* |
|00001ff0| 74 29 20 63 6f 6e 73 74 | 09 09 09 7b 20 72 65 74 |t) const|...{ ret|
|00002000| 75 72 6e 20 74 68 69 73 | 2d 3e 47 65 74 49 6e 74 |urn this|->GetInt|
|00002010| 65 72 6e 61 6c 44 61 74 | 61 4c 65 6e 67 74 68 28 |ernalDat|aLength(|
|00002020| 74 29 20 3d 3d 20 6b 44 | 61 74 61 53 74 6f 72 65 |t) == kD|ataStore|
|00002030| 64 45 78 74 65 72 6e 61 | 6c 6c 79 3b 20 7d 0d 09 |dExterna|lly; }..|
|00002040| 6c 6f 6e 67 09 09 09 09 | 09 09 47 65 74 53 74 6f |long....|..GetSto|
|00002050| 72 65 64 44 61 74 61 54 | 79 70 65 28 54 54 72 61 |redDataT|ype(TTra|
|00002060| 6e 73 61 63 74 69 6f 6e | 2a 20 74 29 20 63 6f 6e |nsaction|* t) con|
|00002070| 73 74 09 09 7b 20 72 65 | 74 75 72 6e 20 74 68 69 |st..{ re|turn thi|
|00002080| 73 2d 3e 47 65 74 52 65 | 63 6f 72 64 44 61 74 61 |s->GetRe|cordData|
|00002090| 28 74 2c 20 6b 54 79 70 | 65 4f 66 50 72 6f 70 65 |(t, kTyp|eOfPrope|
|000020a0| 72 74 79 44 61 74 61 29 | 3b 20 7d 0d 09 6c 6f 6e |rtyData)|; }..lon|
|000020b0| 67 09 09 09 09 09 09 47 | 65 74 45 78 74 65 72 6e |g......G|etExtern|
|000020c0| 61 6c 44 61 74 61 49 6e | 64 65 78 28 54 54 72 61 |alDataIn|dex(TTra|
|000020d0| 6e 73 61 63 74 69 6f 6e | 2a 20 74 29 20 63 6f 6e |nsaction|* t) con|
|000020e0| 73 74 09 09 7b 20 72 65 | 74 75 72 6e 20 74 68 69 |st..{ re|turn thi|
|000020f0| 73 2d 3e 47 65 74 52 65 | 63 6f 72 64 44 61 74 61 |s->GetRe|cordData|
|00002100| 28 74 2c 20 6b 45 78 74 | 65 72 6e 61 6c 44 61 74 |(t, kExt|ernalDat|
|00002110| 61 49 6e 64 65 78 29 3b | 20 7d 0d 09 0d 09 2f 2f |aIndex);| }....//|
|00002120| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00002130| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00002140| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00002150| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00002160| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 0d 09 2f 2f |::::::::|::::..//|
|00002170| 20 50 72 6f 74 65 63 74 | 65 64 20 69 6e 74 65 72 | Protect|ed inter|
|00002180| 66 61 63 65 3a 20 6e 6f | 6e 2d 63 6f 6e 73 74 20 |face: no|n-const |
|00002190| 6d 65 74 68 6f 64 73 0d | 09 2f 2f 3a 3a 3a 3a 3a |methods.|.//:::::|
|000021a0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|000021b0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|000021c0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|000021d0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|000021e0| 3a 3a 3a 3a 3a 3a 3a 0d | 0d 70 75 62 6c 69 63 3a |:::::::.|.public:|
|000021f0| 0d 0d 09 2f 2f 0d 09 2f | 2f 20 43 61 6c 6c 65 64 |...//../|/ Called|
|00002200| 20 62 79 20 74 68 65 20 | 65 78 74 65 72 6e 61 6c | by the |external|
|00002210| 20 64 61 74 61 20 72 65 | 63 6f 72 64 20 69 66 20 | data re|cord if |
|00002220| 69 74 20 6d 6f 76 65 73 | 20 61 72 6f 75 6e 64 0d |it moves| around.|
|00002230| 09 2f 2f 20 0d 09 76 6f | 69 64 09 09 09 09 09 09 |.// ..vo|id......|
|00002240| 53 65 74 45 78 74 65 72 | 6e 61 6c 44 61 74 61 49 |SetExter|nalDataI|
|00002250| 6e 64 65 78 28 54 54 72 | 61 6e 73 61 63 74 69 6f |ndex(TTr|ansactio|
|00002260| 6e 2a 20 74 2c 20 6c 6f | 6e 67 20 65 78 74 65 72 |n* t, lo|ng exter|
|00002270| 6e 61 6c 44 61 74 61 49 | 6e 64 65 78 29 3b 0d 09 |nalDataI|ndex);..|
|00002280| 0d 70 72 6f 74 65 63 74 | 65 64 3a 0d 0d 09 76 6f |.protect|ed:...vo|
|00002290| 69 64 09 09 09 09 09 09 | 53 65 74 45 6e 63 6f 64 |id......|SetEncod|
|000022a0| 65 64 44 61 74 61 54 79 | 70 65 28 54 54 72 61 6e |edDataTy|pe(TTran|
|000022b0| 73 61 63 74 69 6f 6e 2a | 20 74 2c 20 6c 6f 6e 67 |saction*| t, long|
|000022c0| 20 65 6e 63 6f 64 65 64 | 54 79 70 65 29 09 09 09 | encoded|Type)...|
|000022d0| 7b 20 74 68 69 73 2d 3e | 53 65 74 52 65 63 6f 72 |{ this->|SetRecor|
|000022e0| 64 46 6c 61 67 73 28 74 | 2c 20 28 74 68 69 73 2d |dFlags(t|, (this-|
|000022f0| 3e 52 65 63 6f 72 64 46 | 6c 61 67 73 28 74 29 20 |>RecordF|lags(t) |
|00002300| 26 20 7e 6b 44 61 74 61 | 54 79 70 65 4d 61 73 6b |& ~kData|TypeMask|
|00002310| 29 20 7c 20 28 28 65 6e | 63 6f 64 65 64 54 79 70 |) | ((en|codedTyp|
|00002320| 65 20 3c 3c 20 6b 44 61 | 74 61 54 79 70 65 53 68 |e << kDa|taTypeSh|
|00002330| 69 66 74 29 20 26 20 6b | 44 61 74 61 54 79 70 65 |ift) & k|DataType|
|00002340| 4d 61 73 6b 29 29 3b 20 | 7d 0d 09 76 6f 69 64 09 |Mask)); |}..void.|
|00002350| 09 09 09 09 09 53 65 74 | 49 6e 74 65 72 6e 61 6c |.....Set|Internal|
|00002360| 44 61 74 61 4c 65 6e 67 | 74 68 28 54 54 72 61 6e |DataLeng|th(TTran|
|00002370| 73 61 63 74 69 6f 6e 2a | 20 74 2c 20 6c 6f 6e 67 |saction*| t, long|
|00002380| 20 69 6e 74 65 72 6e 61 | 6c 4c 65 6e 67 74 68 29 | interna|lLength)|
|00002390| 09 09 7b 20 74 68 69 73 | 2d 3e 53 65 74 52 65 63 |..{ this|->SetRec|
|000023a0| 6f 72 64 46 6c 61 67 73 | 28 74 2c 20 28 74 68 69 |ordFlags|(t, (thi|
|000023b0| 73 2d 3e 52 65 63 6f 72 | 64 46 6c 61 67 73 28 74 |s->Recor|dFlags(t|
|000023c0| 29 20 26 20 7e 6b 49 6e | 74 65 72 6e 61 6c 4c 65 |) & ~kIn|ternalLe|
|000023d0| 6e 67 74 68 4d 61 73 6b | 29 20 7c 20 28 28 69 6e |ngthMask|) | ((in|
|000023e0| 74 65 72 6e 61 6c 4c 65 | 6e 67 74 68 20 3c 3c 20 |ternalLe|ngth << |
|000023f0| 6b 49 6e 74 65 72 6e 61 | 6c 4c 65 6e 67 74 68 53 |kInterna|lLengthS|
|00002400| 68 69 66 74 29 20 26 20 | 6b 49 6e 74 65 72 6e 61 |hift) & |kInterna|
|00002410| 6c 4c 65 6e 67 74 68 4d | 61 73 6b 29 29 3b 20 7d |lLengthM|ask)); }|
|00002420| 0d 09 76 6f 69 64 09 09 | 09 09 09 09 53 65 74 4f |..void..|....SetO|
|00002430| 77 6e 73 45 78 74 65 72 | 6e 61 6c 44 61 74 61 28 |wnsExter|nalData(|
|00002440| 54 54 72 61 6e 73 61 63 | 74 69 6f 6e 2a 20 74 2c |TTransac|tion* t,|
|00002450| 20 42 6f 6f 6c 65 61 6e | 20 64 6f 65 73 4f 77 6e | Boolean| doesOwn|
|00002460| 45 78 74 65 72 6e 61 6c | 29 09 7b 20 74 68 69 73 |External|).{ this|
|00002470| 2d 3e 53 65 74 49 6e 74 | 65 72 6e 61 6c 44 61 74 |->SetInt|ernalDat|
|00002480| 61 4c 65 6e 67 74 68 28 | 74 2c 20 64 6f 65 73 4f |aLength(|t, doesO|
|00002490| 77 6e 45 78 74 65 72 6e | 61 6c 20 3f 20 6b 44 61 |wnExtern|al ? kDa|
|000024a0| 74 61 53 74 6f 72 65 64 | 45 78 74 65 72 6e 61 6c |taStored|External|
|000024b0| 6c 79 20 3a 20 30 29 3b | 20 7d 0d 09 76 6f 69 64 |ly : 0);| }..void|
|000024c0| 09 09 09 09 09 09 53 65 | 74 53 74 6f 72 65 64 44 |......Se|tStoredD|
|000024d0| 61 74 61 54 79 70 65 28 | 54 54 72 61 6e 73 61 63 |ataType(|TTransac|
|000024e0| 74 69 6f 6e 2a 20 74 2c | 20 6c 6f 6e 67 20 6e 65 |tion* t,| long ne|
|000024f0| 77 53 74 6f 72 65 64 54 | 79 70 65 29 09 09 09 7b |wStoredT|ype)...{|
|00002500| 20 74 68 69 73 2d 3e 43 | 68 61 6e 67 65 52 65 63 | this->C|hangeRec|
|00002510| 6f 72 64 44 61 74 61 28 | 74 2c 20 6b 54 79 70 65 |ordData(|t, kType|
|00002520| 4f 66 50 72 6f 70 65 72 | 74 79 44 61 74 61 2c 20 |OfProper|tyData, |
|00002530| 6e 65 77 53 74 6f 72 65 | 64 54 79 70 65 29 3b 20 |newStore|dType); |
|00002540| 7d 0d 09 0d 09 2f 2f 3a | 3a 3a 3a 3a 3a 3a 3a 3a |}....//:|::::::::|
|00002550| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00002560| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00002570| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00002580| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|00002590| 3a 3a 3a 0d 09 2f 2f 20 | 50 72 69 76 61 74 65 20 |:::..// |Private |
|000025a0| 6d 65 74 68 6f 64 73 3a | 0d 09 2f 2f 3a 3a 3a 3a |methods:|..//::::|
|000025b0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|000025c0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|000025d0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|000025e0| 3a 3a 3a 3a 3a 3a 3a 3a | 3a 3a 3a 3a 3a 3a 3a 3a |::::::::|::::::::|
|000025f0| 3a 3a 3a 3a 3a 3a 3a 3a | 0d 0d 70 72 69 76 61 74 |::::::::|..privat|
|00002600| 65 3a 0d 09 0d 09 41 43 | 6f 6e 73 74 3c 54 44 61 |e:....AC|onst<TDa|
|00002610| 74 61 52 65 63 6f 72 64 | 3e 09 09 09 45 78 74 65 |taRecord|>...Exte|
|00002620| 72 6e 61 6c 44 61 74 61 | 28 54 54 72 61 6e 73 61 |rnalData|(TTransa|
|00002630| 63 74 69 6f 6e 2a 20 74 | 29 20 63 6f 6e 73 74 3b |ction* t|) const;|
|00002640| 0d 09 41 6e 55 70 64 61 | 74 65 3c 54 44 61 74 61 |..AnUpda|te<TData|
|00002650| 52 65 63 6f 72 64 3e 09 | 09 55 70 64 61 74 65 45 |Record>.|.UpdateE|
|00002660| 78 74 65 72 6e 61 6c 44 | 61 74 61 28 54 54 72 61 |xternalD|ata(TTra|
|00002670| 6e 73 61 63 74 69 6f 6e | 2a 20 74 29 3b 0d 09 76 |nsaction|* t);..v|
|00002680| 6f 69 64 09 09 09 09 09 | 09 49 6e 66 6f 72 6d 4f |oid.....|.InformO|
|00002690| 77 6e 65 72 50 72 6f 70 | 65 72 74 79 56 61 6c 75 |wnerProp|ertyValu|
|000026a0| 65 43 68 61 6e 67 65 64 | 28 54 54 72 61 6e 73 61 |eChanged|(TTransa|
|000026b0| 63 74 69 6f 6e 2a 20 74 | 29 20 63 6f 6e 73 74 3b |ction* t|) const;|
|000026c0| 0d 09 54 43 6f 6e 73 74 | 44 61 74 61 52 65 66 65 |..TConst|DataRefe|
|000026d0| 72 65 6e 63 65 09 09 09 | 50 72 6f 70 65 72 74 79 |rence...|Property|
|000026e0| 44 61 74 61 52 65 66 65 | 72 65 6e 63 65 28 54 54 |DataRefe|rence(TT|
|000026f0| 72 61 6e 73 61 63 74 69 | 6f 6e 2a 20 74 29 20 63 |ransacti|on* t) c|
|00002700| 6f 6e 73 74 3b 0d 7d 3b | 0d 0d 2f 2f 3d 3d 3d 3d |onst;.};|..//====|
|00002710| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002720| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002730| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002740| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002750| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 0d 2f 2f 20 |========|====.// |
|00002760| 43 6c 61 73 73 20 54 44 | 61 74 61 52 65 63 6f 72 |Class TD|ataRecor|
|00002770| 64 43 6f 6d 70 61 72 69 | 73 6f 6e 4f 62 6a 65 63 |dCompari|sonObjec|
|00002780| 74 0d 2f 2f 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |t.//====|========|
|00002790| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000027a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000027b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000027c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000027d0| 3d 3d 3d 3d 0d 63 6c 61 | 73 73 20 54 44 61 74 61 |====.cla|ss TData|
|000027e0| 52 65 63 6f 72 64 43 6f | 6d 70 61 72 69 73 6f 6e |RecordCo|mparison|
|000027f0| 4f 62 6a 65 63 74 20 3a | 20 70 75 62 6c 69 63 20 |Object :| public |
|00002800| 54 41 62 73 74 72 61 63 | 74 44 42 43 6f 6d 70 61 |TAbstrac|tDBCompa|
|00002810| 72 69 73 6f 6e 4f 62 6a | 65 63 74 0d 7b 0d 70 72 |risonObj|ect.{.pr|
|00002820| 69 76 61 74 65 3a 0d 09 | 6c 6f 6e 67 09 09 09 09 |ivate:..|long....|
|00002830| 09 09 09 66 53 65 61 72 | 63 68 4b 65 79 3b 0d 09 |...fSear|chKey;..|
|00002840| 0d 70 75 62 6c 69 63 3a | 0d 09 09 09 09 09 09 09 |.public:|........|
|00002850| 09 09 54 44 61 74 61 52 | 65 63 6f 72 64 43 6f 6d |..TDataR|ecordCom|
|00002860| 70 61 72 69 73 6f 6e 4f | 62 6a 65 63 74 28 6c 6f |parisonO|bject(lo|
|00002870| 6e 67 20 73 65 61 72 63 | 68 4b 65 79 29 20 3a 20 |ng searc|hKey) : |
|00002880| 66 53 65 61 72 63 68 4b | 65 79 28 73 65 61 72 63 |fSearchK|ey(searc|
|00002890| 68 4b 65 79 29 20 7b 7d | 3b 0d 0d 09 76 69 72 74 |hKey) {}|;...virt|
|000028a0| 75 61 6c 20 43 6f 6d 70 | 61 72 65 45 6e 75 6d 65 |ual Comp|areEnume|
|000028b0| 72 61 74 69 6f 6e 09 09 | 54 65 73 74 4f 62 6a 65 |ration..|TestObje|
|000028c0| 63 74 28 54 54 72 61 6e | 73 61 63 74 69 6f 6e 2a |ct(TTran|saction*|
|000028d0| 2c 20 41 43 6f 6e 73 74 | 3c 54 44 42 52 65 63 6f |, AConst|<TDBReco|
|000028e0| 72 64 3e 29 3b 0d 7d 3b | 0d 0d 23 65 6e 64 69 66 |rd>);.};|..#endif|
|000028f0| 0d 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002900| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00002910| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 2f 2f 20 54 |--------|---.// T|
|00002920| 52 65 63 6f 72 64 47 72 | 6f 75 70 43 6f 6e 74 72 |RecordGr|oupContr|
|00002930| 0c 44 42 50 72 6f 70 65 | 72 74 79 2e 68 5e 02 00 |.DBPrope|rty.h^..|
|00002940| 00 00 54 45 58 54 4d 4d | 43 43 01 00 00 dc 00 00 |..TEXTMM|CC......|
|00002950| 00 00 54 45 58 54 4d 4d | 43 43 01 00 00 dc 00 00 |..TEXTMM|CC......|
|00002960| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002970| 00 00 ac ba c0 85 00 00 | 28 71 00 00 01 9a 2d 2d |........|(q....--|
|00002980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|000029a0| 6c 6f 6e 67 2a 20 54 52 | 65 63 6f 72 64 47 72 6f |long* TR|ecordGro|
|000029b0| 75 70 43 6f 6e 74 72 6f | 6c 4f 62 6a 65 63 74 3a |upContro|lObject:|
|000029c0| 3a 4d 61 6b 65 52 65 63 | 6f 72 64 44 61 74 61 43 |:MakeRec|ordDataC|
|000029d0| 6f 70 79 28 6c 6f 6e 67 | 20 72 65 63 6f 72 64 49 |opy(long| recordI|
|000029e0| 6e 64 65 78 29 0d 7b 0d | 09 6c 6f 6e 67 2a 20 72 |ndex).{.|.long* r|
|000029f0| 65 63 6f 72 64 44 61 74 | 61 41 64 64 72 65 73 73 |ecordDat|aAddress|
|00002a00| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00002a10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a20| 00 00 00 00 00 00 00 03 | 00 04 00 2d 00 04 01 cd |........|...-....|
|00002a30| 02 63 00 2d 00 04 01 cd | 02 63 ac a4 1c 1b 00 00 |.c.-....|.c......|
|00002a40| 18 9c 00 00 18 9c 00 00 | 18 46 01 00 00 00 00 04 |........|.F......|
|00002a50| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|00002a60| 00 00 00 46 00 d0 7e d8 | 1a d0 00 00 00 1c 00 46 |...F..~.|.......F|
|00002a70| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00002a80| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00002a90| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|00002aa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ab0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ac0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ad0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ae0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002af0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+